Skip to content

feat: Read apt dependencies from [tool.frappe-cloud] - #616

Merged
regdocs merged 2 commits into
frappe:developfrom
barredterra:feat/tool-frappe-cloud-apt-deps
Nov 3, 2026
Merged

regdocs merged 2 commits into
frappe:developfrom
barredterra:feat/tool-frappe-cloud-apt-deps

Conversation

@barredterra

@barredterra barredterra commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Apps declare extra apt packages in pyproject.toml like this:

[deploy.dependencies.apt]
packages = ["libmagic1"]

This table is not valid. PEP 518 reserves all top-level tables except [tool.*] for future specifications. Strict validators such as validate-pyproject reject the file.

Change

The builder now also reads a key in the [tool.*] namespace:

[tool.frappe-cloud]
apt-dependencies = ["libmagic1"]
  • The legacy [deploy.dependencies.apt] key still works.
  • The builder removes duplicate package names, so an app can list a package under both keys during migration.
  • A unit test covers both keys and the duplicate removal.

Docs: https://docs.frappe.io/wiki-app/spaces/7ncdodb8sb/change-requests/91adai4u3o

[deploy.dependencies.apt] is not a valid pyproject.toml table, because
PEP 518 reserves all top-level tables except [tool.*]. Also read
[tool.frappe-cloud] apt-dependencies and keep the legacy key working.
Remove duplicate package names.
@mergify

mergify Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@greptile-apps

greptile-apps Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Adds support for a new configuration key for system dependencies.

The PR appears safe to merge.

Reviews (1) · Last reviewed commit: "feat: Read apt dependencies from [tool.f..."

…-cloud-apt-deps

# Conflicts:
#	agent/tests/test_builder.py
@regdocs
regdocs merged commit 312095a into frappe:develop Nov 3, 2026
6 checks passed
@regdocs

regdocs commented Nov 3, 2026

Copy link
Copy Markdown
Member

@Mergifyio backport master

@mergify

mergify Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

backport master

❌ No backport have been created

Details
  • Backport to branch master failed

This pull request contains a merge commit (6c3ba82). To proceed, squash-merge or rebase the source pull request to flatten its history, then retry.

@regdocs

regdocs commented Nov 3, 2026

Copy link
Copy Markdown
Member

Mergify couldn't backport this because of the merge commit, so I opened a manual backport to master: #661

regdocs added a commit that referenced this pull request Nov 3, 2026
backport(master): feat: Read apt dependencies from [tool.frappe-cloud] (#616)
@barredterra
barredterra deleted the feat/tool-frappe-cloud-apt-deps branch November 3, 2026 17:33
@barredterra

Copy link
Copy Markdown
Contributor Author

Thanks! I've merged the docs as well

regdocs pushed a commit to frappe/press that referenced this pull request Nov 4, 2026
The [deploy.dependencies.apt] table is not valid per PEP 518, which
reserves all top-level tables except [tool.*]. Strict validators reject
it. Read [tool.frappe-cloud] apt-dependencies too, like the builder does
since frappe/agent#616. The legacy key still works, and the existing
dedup lets an app list a package under both keys while it migrates.
aljifrikhaled pushed a commit to aljifrikhaled/press that referenced this pull request Nov 11, 2026
The [deploy.dependencies.apt] table is not valid per PEP 518, which
reserves all top-level tables except [tool.*]. Strict validators reject
it. Read [tool.frappe-cloud] apt-dependencies too, like the builder does
since frappe/agent#616. The legacy key still works, and the existing
dedup lets an app list a package under both keys while it migrates.

(cherry picked from commit ad07fd2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants